home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
PROGMISC
/
FPCHELP.LZH
/
KERNEL2.HLP
< prev
next >
Wrap
Text File
|
1988-07-27
|
14KB
|
455 lines
\ KERNEL2.HLP Help file for the KERNEL2.SEQ file
TOS ( --- a1 )
Top OF Stack, Saved during Task switching.
ENTRY ( --- a1 )
Jumped to during multitasking.
LINK ( --- a1 )
Points to next task in the circular queue
ES0 ( --- a1 )
ES register initial segment.
SP0 ( --- a1 )
Empty parameter stack for this task.
RP0 ( --- a1 )
Empty return stack for this task.
DP ( --- a1 )
Size of dictionary. Next available location.
OFFSET ( --- a1 )
Added to all block references.
BASE ( --- a1 )
The current numeric base for number input output.
HLD ( --- a1 )
Points to a converted character during numeric output.
PRINTING ( --- a1 )
A variable which holds a flag that Indicates whether printing is
enabled.
EMIT ( c1 -- )
A defered word which sends a character to the output device.
KEY? ( --- f1 )
A defered word that returns a true flag if a key waiting.
KEY ( --- c1 )
A defered word to get a key from user.
TYPE ( a1 n1 --- )
A defered word used to Print a string to the current output device
from the segment specified in the variable TYPESEG.
EXTYPE ( seg a1 n1 --- )
A defered word used to print a string to the current output device
from external memory specified in segment SEG.
YDP ( --- a1 )
A variable that holds the address in HEAD space of the next
available byte.
PRIOR ( --- a1 )
Points to the last vocabulary that was searched.
DPL ( --- a1 )
The decimal point location for number input.
WARNING ( --- a1 )
Checked by WARN for duplicate warnings.
R# ( --- a1 )
The cursor position during editing.
HLD ( --- a1 )
Points to a converted character during numeric output.
LAST ( --- a1 )
Points to the name of the most recently CREATEd word.
CSP ( --- a1 )
Used for compile time error checking.
CURRENT ( --- a1 )
New words are added to the CURRENT vocabulary.
#VOCS ( --- a1 )
The number of elements in the search order array.
CONTEXT ( --- a1 )
The array specifying the search order.
'TIB ( --- a1 )
Points to characters entered by user.
WIDTH ( --- a1 )
Number of characters to keep in name field.
VOC-LINK ( --- a1 )
Points to the most recently defined vocabulary.
BLK ( --- a1 )
If non-zero, the block number we are interpreting.
>IN ( --- a1 )
Number of characters interpreted so far.
SPAN ( --- a1 )
Number of characters input by EXPECT.
#TIB ( --- a1 )
Used by WORD, when interpreting from the terminal.
END? ( --- a1 )
True if input stream exhausted, else false.
#OUT ( --- a1 )
A variable that holds the column number of the most recent type or
emit to the display.
#LINE ( --- a1 )
A variable that holds the line number of the current line on which
text is being typed.
BL ( --- c1 )
Return hex 20, decimal 32 the value of an Ascii space.
BS ( --- c1 )
Return the value 8, an Ascii Back Space.
BELL ( --- c1 )
Return the value 7, an Ascii BELL char.
CAPS ( --- a1 )
If true, then convert names to upper case
FILL ( a1 n1 c1 --- )
FILL the string starting at a1 for count n1 bytes
with the character c1. Both BLANK and ERASE are
special cases of FILL.
ERASE ( a1 n1 --- )
Fill the string with zeros
BLANK ( a1 n1 --- )
Fill the string with blanks
COUNT ( a1 --- a2 n1 )
Given the address on the stack, returns the address
plus one and the byte at that address. Useful for strings.
LENGTH ( a1 --- a2 n1 )
Given the address on the stack, returns the address
plus two and the two byte contents of the address.
MOVE ( a1 a2 n1 --- )
Move the specified bytes n1 from address a1 ro address a2. No
overlapping of data will occur.
>UPPER
subroutine which converts character in AX to upper case.
UPC
Convert a Char to upper Case
UPPER
Take the string at the specified address and convert it to
upper case. It converts the string in place, so be sure to
make a copy of the original if you need to use it later.
HERE ( --- a1 )
Return the address of the top of the dictionary
PAD ( --- a1 )
Floating Temporary Storage area.
-TRAILING ( a1 n1 --- a2 n2 )
Return the address and length of the given string ignoring
trailing blanks.
COMP ( a1 a2 n1 --- f1 )
This performs a string compare. If the two strings are
equal, then COMPARE returns 0. If the two strings differ,
then COMPARE returns -1 or +1. -1 is returned if string 1
is less than string 2. +1 is returned if string 1 is
greater than string 2. All comparisons are relative to
ASCII order.
CAPS-COMP ( a1 a2 n1 --- f1 )
The code on this screen handles the case where case is not
significant. Each character is converted to upper case
before the comparison is made. Thus, lower case a and upper
case A are considered identical.
COMPARE ( a1 a2 n1 --- f1 )
Performs a string compare. If CAPS is true, characters from
both strings are converted to upper case before comparing.
OSF ( --- a1 )
Operating Sys call in progress flag.
FCDOS
called by other assembler code to do INT 21 (DOS call). BP
and SI are the critical FORTH registers. Create is used here
to force lable into target dictionary. OSF is set during the
DOS call, can be tested by interrupt routines which call
non-reentrant DOS functions.
XFDOS
call INT 21 with most any reg combination used.
?CS: ( --- seg )
leave FORTH CS on stack
@L ( seg adr - n )
load word long from seg and adr.
C@L ( seg adr - byt)
char load long from seg and adr.
C!L ( byt seg adr -)
char store long in seg and adr.
!L ( n seg adr -- )
word store long
BDOS ( n1 func# --- al )
Load up the registers and do a DOS system call. return the
result placed in the A register on the stack.
(KEY?) ( --- f1 )
Returns true if the user pressed a key, otherwise false.
(KEY) ( --- c1 )
Pauses until a key is ready, and returns it on the stack.
(EMIT) ( c1 --- )
sends a character to both the console and the printer.
CMOVEL ( sseg sptr dseg dptr cnt -- )
move char block long from source seg sseg and sptr, to
destination seg dseg and dptr for length cnt.
YSTART ( --- a1 )
if non-zero, ptr to start of headers after dictionary.
Used to set DP in this case.
YSEG ( --- a1 )
SEG for header segment
MEMCHK ( f1 --- )
abort with memory error message if true
DOSVER ( --- n1 )
get DOS version number
SETYSEG ( --- )
Set the segment variables as needed.
CR ( --- )
Typically set to CRLF, above. PR-STAT Return printer status,
if implemented, else TRUE (PRINT) The value of the DEFERRED
word EMIT when you want to send a character to the printer.
CRLF ( --- )
Sends a carriage return line feed sequence.
TYPE ( a1 n1 --- )
Display the given string on the terminal.
SPACE ( --- )
Send a space to the terminal
SPACES ( n1 --- )
Send a set of spaces to the terminal
BACKSPACES ( n1 --- )
Send a set of Backspaces to the terminal.
BEEP ( --- )
Ring the bell on the terminal
BS-IN
If at beginning of line, beep, otherwise back up 1.
(DEL-IN)
If at beginning of line, beep, otherwise back up and erase 1.
BACK-UP
Wipe out the current line by overwriting it with spaces.
RES-IN
Reset the system to a relatively clean state.
P-IN
Toggle the printer on or off
CR-IN
Finish input and remember the number of chars in SPAN
(CHAR)
Process an ordinary character by appending it to the buffer.
CHAR
is usually (CHAR). Executed for most characters.
DEL-IN is usually (DEL-IN). Executed for delete characters.
EXPECT ( a1 n1 --- )
Get a string from the terminal and place it in the buffer
provided. Performs a certain amount of line editing.
Saves the number of characters input in the Variable SPAN.
Processes control characters per the array pointed to by CC.
TIB ( --- a1 )
Leaves address of text input buffer.
QUERY ( --- )
Get more input from the user and place it at TIB.
VIEW# ( --- a1 )
returns address of the view# field for this file.
DEFAULT
Opens the default file per the execute line.
This does nothing if no file was given.
DIGIT
Returns a flag indicating whether or not the character is a
valid digit in the given base. If so, returns converted
value and true, otherwise returns char and false.
DOUBLE?
Returns non-zero if period was encountered.
CONVERT
Starting with the unsigned double number ud1 and the string
at adr1, convert the string to a number in the current base.
Leave result and address of unconvertable digit on stack.
(NUMBER?)
Given a string containing at least one digit, convert it
to a number.
NUMBER?
Convert the count delimited string at addr to a double
number. NUMBER? takes into account a leading minus sign,
and stores a pointer to the last delimiter in DPL.
The string must end with a blank.
Leaves a true flag if successful.
(NUMBER)
Convert the count delimited string at addr to a double
number. (NUMBER) takes into account a leading minus sign,
and stores a pointer to the last period in DPL. Note the
string must end with a blank or an error message is issued.
NUMBER
Convert a string to a number. Normally (NUMBER)
HOLD
Save the char for numeric output later.
<#
Start numeric conversion.
#>
Terminate numeric conversion.
SIGN
If n1 is negative insert a minus sign into the string.
#
Convert a single digit in the current base.
#S
Convert a number until it is finished.
HEX ( --- )
All subsequent numeric IO will be in Hexadecimal.
DECIMAL ( --- )
All subsequent numeric IO will be in Decimal.
OCTAL ( --- )
All subsequent numeric IO will be in Octal.
(U.) ( n1 --- a1 n2 )
Convert an unsigned 16 bit number to a string.
U. ( n1 --- )
Output as an unsigned single number with trailing space.
U.R ( n1 n2 --- )
Output as an unsigned single number right justified.
(.) ( n1 --- a1 n2 )
Convert a signed 16 bit number to a string.
. ( n1 --- )
Output as a signed single number with a trailing space.
.R ( n1 n2 --- )
Output as a signed single number right justified.
(UD.) ( d1 --- a1 n1 )
Convert an unsigned double number to a string.
UD. ( d1 --- )
Output as an unsigned double number with a trailing space
UD.R ( d1 n1 --- )
Output as an unsigned double number right justified.
(D.) ( d1 --- a1 n1 )
Convert a signed double number to a string.
D. ( d1 --- )
Output as a signed double number with a trailing space.
D.R ( d1 n1 --- )
Output as a signed double number right justified.
SKIP ( a1 n1 c1 --- )
Given the address and length of a string, and a character to
look for, run through the string while we continue to find
the character. Leave the address of the mismatch and the
length of the remaining string.
SCAN ( a1 n1 c1 --- )
Given the address and length of a string, and a character to
look for, run through the string until we find
the character. Leave the address of the match and the
length of the remaining string.
/STRING
Index into the string by n. Returns addr+n and len-n.
SOURCE ( --- a1 n1 )
Return a string from the current input stream.
SOURCE-PARSE-WRD ( C1 --- A1 N1 )
Scan the input stream until char is encountered. Skip over
leading chars. Update >IN pointer. Leaves the address and
length of the enclosed string.
PARSE ( a1 --- a2 n1 )
Scan the input stream until char is encountered. Update >IN
pointer. Leaves the address and length of the enclosed
string.
'WORD ( --- A1 )
Leaves the same address as WORD. In this system, 'WORD is
the same as HERE.
WORD ( C1 --- A1 )
Parse the input stream for char and return a count delimited
string at here. Note there is always a blank following it.